nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
↳ QTRS
↳ DependencyPairsProof
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
INCR(cons(X, XS)) → ACTIVATE(XS)
ACTIVATE(n__incr(X)) → INCR(X)
ODDS → INCR(pairs)
NATS → NATS
PAIRS → ODDS
ODDS → PAIRS
TAIL(cons(X, XS)) → ACTIVATE(XS)
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
INCR(cons(X, XS)) → ACTIVATE(XS)
ACTIVATE(n__incr(X)) → INCR(X)
ODDS → INCR(pairs)
NATS → NATS
PAIRS → ODDS
ODDS → PAIRS
TAIL(cons(X, XS)) → ACTIVATE(XS)
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ QDP
INCR(cons(X, XS)) → ACTIVATE(XS)
ACTIVATE(n__incr(X)) → INCR(X)
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
INCR(cons(X, XS)) → ACTIVATE(XS)
ACTIVATE(n__incr(X)) → INCR(X)
The value of delta used in the strict ordering is 1.
POL(cons(x1, x2)) = (2)x_2
POL(n__incr(x1)) = 1 + (4)x_1
POL(INCR(x1)) = 2 + (3)x_1
POL(ACTIVATE(x1)) = 1 + (4)x_1
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
PAIRS → ODDS
ODDS → PAIRS
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
NATS → NATS
nats → cons(0, n__incr(nats))
pairs → cons(0, n__incr(odds))
odds → incr(pairs)
incr(cons(X, XS)) → cons(s(X), n__incr(activate(XS)))
head(cons(X, XS)) → X
tail(cons(X, XS)) → activate(XS)
incr(X) → n__incr(X)
activate(n__incr(X)) → incr(X)
activate(X) → X